// 专家介绍相关 Mock 数据

import type { ExpertInfo } from '@/types/expert';
import type { ApiResponse } from '@/types/api';

// 模拟延迟
const delay = (ms: number) => new Promise(resolve => setTimeout(resolve, ms));

// 专家信息数据
const mockExperts: ExpertInfo[] = [
  {
    id: 'expert_nutrition',
    name: '营养膳食专家',
    title: '注册营养师 · 临床营养学博士',
    avatar: '🥗',
    specialty: ['营养评估', '膳食指导', '体重管理', '慢性病营养'],
    description: '专注于为用户提供科学的营养建议和个性化膳食方案，帮助改善健康状况。',
    background: '拥有15年临床营养工作经验，曾在多家三甲医院担任营养科主任，发表营养学相关论文50余篇。',
    dataSources: [
      { name: 'WHO', description: '世界卫生组织营养指南' },
      { name: 'FDA', description: '美国食品药品监督管理局数据库' },
      { name: '中国营养学会', description: '中国居民膳食指南' }
    ],
    consultationCount: 15680,
    satisfactionRate: 98.5,
    color: '#67C23A',
    icon: '🥗'
  },
  {
    id: 'expert_mental',
    name: '心理健康顾问',
    title: '国家二级心理咨询师 · 临床心理学硕士',
    avatar: '🧠',
    specialty: ['焦虑管理', '压力缓解', '情绪调节', '睡眠改善'],
    description: '专业的心理健康咨询服务，帮助用户应对生活压力，改善心理状态。',
    background: '持有国家心理咨询师资格证书，接受过系统的认知行为疗法(CBT)和正念疗法培训，累计咨询时长超过8000小时。',
    dataSources: [
      { name: 'APA', description: '美国心理学会临床指南' },
      { name: 'DSM-5', description: '精神疾病诊断与统计手册' },
      { name: 'NICE', description: '英国国家健康与临床优化研究所' }
    ],
    consultationCount: 12450,
    satisfactionRate: 97.8,
    color: '#E6A23C',
    icon: '🧠'
  },
  {
    id: 'expert_cardio',
    name: '心血管健康专家',
    title: '主任医师 · 心血管内科学博士',
    avatar: '❤️',
    specialty: ['高血压管理', '冠心病预防', '心律失常', '心脏康复'],
    description: '致力于心血管疾病的预防和管理，提供专业的医疗建议和健康指导。',
    background: '从事心血管临床工作20余年，擅长心血管疾病的诊断和治疗，主持国家级科研项目3项。',
    dataSources: [
      { name: 'ACC/AHA', description: '美国心脏病学会/美国心脏协会指南' },
      { name: 'ESC', description: '欧洲心脏病学会临床指南' },
      { name: '中华医学会', description: '中国心血管病预防指南' }
    ],
    consultationCount: 18920,
    satisfactionRate: 99.2,
    color: '#F56C6C',
    icon: '❤️'
  },
  {
    id: 'expert_exercise',
    name: '运动健身指导',
    title: '运动康复师 · 体育科学硕士',
    avatar: '💪',
    specialty: ['运动处方', '康复训练', '体能提升', '损伤预防'],
    description: '提供科学的运动指导和个性化训练方案，帮助用户安全有效地进行锻炼。',
    background: '国家级运动康复师，曾为多支专业运动队提供康复指导，在运动医学领域有丰富经验。',
    dataSources: [
      { name: 'ACSM', description: '美国运动医学会运动指南' },
      { name: 'WHO', description: '世界卫生组织身体活动建议' },
      { name: 'NSCA', description: '美国国家体能协会标准' }
    ],
    consultationCount: 9870,
    satisfactionRate: 96.5,
    color: '#409EFF',
    icon: '💪'
  },
  {
    id: 'expert_chronic',
    name: '慢性病管理专家',
    title: '副主任医师 · 内分泌学博士',
    avatar: '🏥',
    specialty: ['糖尿病管理', '代谢综合征', '慢性病预防', '健康管理'],
    description: '专注于慢性病的长期管理和预防，提供全面的健康管理方案。',
    background: '在内分泌代谢科工作12年，对糖尿病、高血脂等慢性病管理有深入研究。',
    dataSources: [
      { name: 'ADA', description: '美国糖尿病协会临床指南' },
      { name: 'IDF', description: '国际糖尿病联盟标准' },
      { name: 'CDC', description: '美国疾病控制与预防中心数据' }
    ],
    consultationCount: 14230,
    satisfactionRate: 98.1,
    color: '#909399',
    icon: '🏥'
  },
  {
    id: 'expert_sleep',
    name: '睡眠医学专家',
    title: '主治医师 · 睡眠医学硕士',
    avatar: '😴',
    specialty: ['失眠治疗', '睡眠障碍', '睡眠卫生', '生物节律'],
    description: '专业的睡眠问题诊断和治疗，帮助用户改善睡眠质量，提升生活品质。',
    background: '从事睡眠医学研究8年，在睡眠障碍诊疗方面积累了丰富的临床经验。',
    dataSources: [
      { name: 'AASM', description: '美国睡眠医学会临床指南' },
      { name: 'WHO', description: '世界卫生组织睡眠健康标准' },
      { name: 'NSF', description: '美国国家睡眠基金会建议' }
    ],
    consultationCount: 11560,
    satisfactionRate: 97.3,
    color: '#8B95A5',
    icon: '😴'
  }
];

/**
 * Mock 获取所有专家信息
 */
export const mockGetExperts = async (): Promise<ApiResponse<{ experts: ExpertInfo[] }>> => {
  await delay(600);
  
  return {
    code: 200,
    data: {
      experts: mockExperts
    },
    message: '获取成功'
  };
};

/**
 * Mock 获取单个专家详情
 */
export const mockGetExpertDetail = async (expertId: string): Promise<ApiResponse<ExpertInfo>> => {
  await delay(500);
  
  const expert = mockExperts.find(e => e.id === expertId);
  
  if (!expert) {
    return {
      code: 404,
      data: null as any,
      message: '专家不存在'
    };
  }
  
  return {
    code: 200,
    data: expert,
    message: '获取成功'
  };
};